package main

import "fmt"

// 管道关闭和遍历
// 关闭后不能写入，只能读取
func main() {
	//  chan 关闭
	intChan := make(chan int, 3)
	intChan <- 100
	intChan <- 101
	close(intChan)
	// panic: send on closed channel
	//intChan <- 102
	fmt.Println(<-intChan) // 100

	fmt.Println("===遍历chan,只能使用for range===")
	intChan2 := make(chan int, 100)
	for i := 0; i < 100; i++ {
		intChan2 <- i
	}
	// 如果chan没有关闭，会出现死锁
	close(intChan2)
	for value := range intChan2 {
		fmt.Println(value)
	}
}
